package com.enation.app.javashop.core.member.model.dos;

import com.enation.app.javashop.framework.database.annotation.Column;
import com.enation.app.javashop.framework.database.annotation.Id;
import com.enation.app.javashop.framework.database.annotation.Table;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;

/**
 * 商家提现申请记录
 * @author 孙建
 */
@Table(name="es_withdraw_record")
@ApiModel
@JsonNaming(value = PropertyNamingStrategy.SnakeCaseStrategy.class)
public class WithdrawRecordDO {

	/**id**/
	@Id(name="id")
	@ApiModelProperty(hidden=true)
	private Integer id;
	/**提现金额**/
	@Column(name = "apply_money")
	@ApiModelProperty(value="提现金额")
	private Double applyMoney;
	/**提现状态**/
	@Column()
	@ApiModelProperty(value="提现状态")
	private String status;
	/**会员id**/
	@Column(name = "member_id")
	@ApiModelProperty(value="会员id")
	private Integer memberId;
	/**会员名字**/
	@Column(name = "member_name")
	@ApiModelProperty(value="会员名")
	private String memberName;

	/** 卖家id **/
	@Column(name = "seller_id")
	@ApiModelProperty(value="商家id")
	private Integer sellerId;
	/** 卖家名称 **/
	@Column(name = "seller_name")
	@ApiModelProperty(value="商家名称")
	private String sellerName;

	/**申请备注**/
	@Column(name = "apply_remark")
	@ApiModelProperty(value="申请备注")
	private String applyRemark;
	/**审核备注**/
	@Column(name = "inspect_remark")
	@ApiModelProperty(value="审核备注")
	private String inspectRemark;
	/**转账备注**/
	@Column(name = "transfer_remark")
	@ApiModelProperty(value="转账备注")
	private String transferRemark;
	/**申请时间**/
	@Column(name = "apply_time")
	@ApiModelProperty(value="申请时间")
	private Long applyTime;
	/**审核时间**/
	@Column(name = "inspect_time")
	@ApiModelProperty(value="审核时间")
	private Long inspectTime;
	/**转账时间**/
	@Column(name = "transfer_time")
	@ApiModelProperty(value="转账时间")
	private Long transferTime;
	/**开户银行支行名称*/
	@Column(name = "bank_name")
	@ApiModelProperty(name="bank_name",value="开户银行支行名称",required=true)
	@NotEmpty(message="开户银行支行名称必填")
	private String bankName;
	/**银行开户名*/
	@Column(name = "bank_account_name")
	@ApiModelProperty(name="bank_account_name",value="银行开户名",required=true)
	@NotEmpty(message="银行开户名必填")
	private String bankAccountName;
	/**银行开户账号*/
	@Column(name = "bank_number")
	@ApiModelProperty(name="bank_number",value="银行开户账号",required=true)
	@NotEmpty(message="银行开户账号必填")
	private String bankNumber;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Double getApplyMoney() {
		return applyMoney;
	}

	public void setApplyMoney(Double applyMoney) {
		this.applyMoney = applyMoney;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Integer getMemberId() {
		return memberId;
	}

	public void setMemberId(Integer memberId) {
		this.memberId = memberId;
	}

	public String getMemberName() {
		return memberName;
	}

	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}

	public Integer getSellerId() {
		return sellerId;
	}

	public void setSellerId(Integer sellerId) {
		this.sellerId = sellerId;
	}

	public String getSellerName() {
		return sellerName;
	}

	public void setSellerName(String sellerName) {
		this.sellerName = sellerName;
	}

	public String getApplyRemark() {
		return applyRemark;
	}

	public void setApplyRemark(String applyRemark) {
		this.applyRemark = applyRemark;
	}

	public String getInspectRemark() {
		return inspectRemark;
	}

	public void setInspectRemark(String inspectRemark) {
		this.inspectRemark = inspectRemark;
	}

	public String getTransferRemark() {
		return transferRemark;
	}

	public void setTransferRemark(String transferRemark) {
		this.transferRemark = transferRemark;
	}

	public Long getApplyTime() {
		return applyTime;
	}

	public void setApplyTime(Long applyTime) {
		this.applyTime = applyTime;
	}

	public Long getInspectTime() {
		return inspectTime;
	}

	public void setInspectTime(Long inspectTime) {
		this.inspectTime = inspectTime;
	}

	public Long getTransferTime() {
		return transferTime;
	}

	public void setTransferTime(Long transferTime) {
		this.transferTime = transferTime;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBankAccountName() {
		return bankAccountName;
	}

	public void setBankAccountName(String bankAccountName) {
		this.bankAccountName = bankAccountName;
	}

	public String getBankNumber() {
		return bankNumber;
	}

	public void setBankNumber(String bankNumber) {
		this.bankNumber = bankNumber;
	}

	@Override
	public String toString() {
		return "WithdrawRecordDO{" +
				"id=" + id +
				", applyMoney=" + applyMoney +
				", status='" + status + '\'' +
				", memberId=" + memberId +
				", memberName='" + memberName + '\'' +
				", sellerId=" + sellerId +
				", sellerName='" + sellerName + '\'' +
				", applyRemark='" + applyRemark + '\'' +
				", inspectRemark='" + inspectRemark + '\'' +
				", transferRemark='" + transferRemark + '\'' +
				", applyTime=" + applyTime +
				", inspectTime=" + inspectTime +
				", transferTime=" + transferTime +
				", bankName='" + bankName + '\'' +
				", bankAccountName='" + bankAccountName + '\'' +
				", bankNumber='" + bankNumber + '\'' +
				'}';
	}
}
	
